home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d963.lha / SIOD / scm / level-read.scm < prev    next >
Text File  |  1993-02-22  |  673b  |  21 lines

  1. (define (depth tree)
  2.         (if (empty-tree? tree) 
  3.             0
  4.             (max (1+ (depth (left-branch tree)))
  5.                  (1+ (depth (right-branch tree))))))
  6.  
  7. (define (level-n tree n lev)
  8.         (cond ((empty-tree? tree) '())
  9.               ((= lev n) (list (entry tree)))
  10.               (else (append (level-n (left-branch tree) n (1+ lev))
  11.                             (level-n (right-branch tree) n (1+ lev))))))
  12.  
  13. (define (level-all tree lev max-lev)
  14.         (if (> lev max-lev)
  15.             '()
  16.             (append (level-n tree lev 0)
  17.                     (level-all tree (1+ lev) max-lev))))
  18.  
  19. (define (level-read tree)
  20.         (level-all tree 0 (depth tree)))
  21.